Applications connected by network infrastructure communicate with each other in order to share data and perform business operations. The connection between a source application and a destination application is established by the source application, which requests a connection from its Internet Protocol (IP) address to the IP address of the destination application, typically over a specific port. Typically, existing host-based network security technologies, such as personal firewalls, use policies to allow or restrict directional access specifically at the egress or ingress point of the communication on the host on which the communication is occurring. For example, the firewall running on the host on which the source application executes typically monitors the outbound connection attempt to the destination IP address, while the firewall running on the host on which the destination application executes typically monitors the inbound connection attempt from the source IP address.
Such firewalls use policies to determine which connections and communications to allow and which to block. Generating, modifying, and deleting such policies manually, such as in changes to network topology and changes to the devices that are connected to the network, can be tedious, time-consuming, and prone to error.